/**
 public final void setDaemon(booleaen on)
 将此线程标记为daemon线程或用户线程。当运行的唯一线程都是守护进程线程时，java虚拟机将退出。
 public final boolean isDeamon()
 测试这个线程是否是守护线程
 public static void yield()
 暂停当前正在执行的线程对象，并执行其他线程。  让出cup的时间 但是不会停止 给其他线程先调度一次
 */
/*
package 第十章_多线程与并发;

import static java.lang.Thread.sleep;

public class U10_L5_守护线程与yield {
    public static void main(String []args){
        Mythread mt=new Mythread();
        Thread t1=new Thread(mt);
        //setDaemon是守护线程的意思。 true 守护线程，false是用户线程。当程序里全是守护线程就会推出。
        //守护线程记录日记 和 回收垃圾。 用户线程自定义写代码
        //mian_run这个用户线程跑完了。jvm就推出了。程序就终止了。T1这个线程就不会再执行。
        t1.setDaemon(true);
        t1.start();

        main_run();

    }
    private static void main_run(){
        for(int i=0;i<50;i++){
            System.out.println(Thread.currentThread().getName()+"-main-thread-"+i);
            try {
                sleep(1);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}

class Mythread extends Thread{
    public void run(){
        for(int i=0;i<50;i++){
            //让出cup占用时间
            if(i<11){
                Thread.yield();
            }
            System.out.println(Thread.currentThread().getName()+"-t2-"+i);
            try {
                sleep(10);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }

        }
    }

}
 */